System and method for media transcoding and presentation

ABSTRACT

A method and apparatus for presenting a media data stream complying with a broadcast encryption standard is disclosed. A dongle is removably coupleable to a rendering device, with the dongle performing transcoding so as to allow presentation of the media in a secure manner without modification of the rendering device software or hardware.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/539,400, entitled “SYSTEM AND METHOD FOR MEDIA TRANSCODING ANDPRESENTATION” filed Aug. 11, 2009 by Gregory J. Gagnon, Ronald P.Cocchi, and Dennis R. Flaharty, now issued as U.S. Pat. No. 8,281,359,which claims benefit of U.S. Provisional Patent Application Ser. No.61/087,879, entitled “SYSTEM AND METHOD FOR MEDIA TRANSCODING ANDPRESENTATION,” filed Aug. 11, 2008, by Gregory J. Gagnon, Ronald P.Cocchi, and Dennis R. Flaharty, both of which applications are herebyincorporated by reference herein.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to systems and methods for the securepresentation of media programs, and in particular to a system and methodfor securely processing an encrypted media stream for rendering anddisplay.

2. Description of the Related Art

For Internet enabled devices, such as computers, there currently is verylimited means of handling content that is compliant with the broadcastand security requirements of the major studios.

In order to reduce piracy, media providers, such as major motion picturestudios, have levied specific standards on broadcasters to preventsignal theft and/or to place watermarking signals into the stream foractive or forensic investigations. The standard computer, or computerprocessor-based device, is not capable of addressing these broadcaststandards.

What is needed is a device that receives media data streams complyingwith such broadcast standards, securely processes the received streams,and securely provides such processed streams to a computer or computerprocessor-based device for rendering. The present invention satisfiesthat need.

SUMMARY OF THE INVENTION

To address the requirements described above, the present inventiondiscloses a method, apparatus, article of manufacture, and a memorystructure for transcoding a media stream complying with a broadcastencryption standard for a personal computer-based device forpresentation on a display. Several embodiments of the invention aredisclosed, including embodiments that utilize a dongle that iscommunicatively coupled to a rendering device such as a computer. In asimple embodiment in which the media data stream is received andimmediately played back (without storage), the dongle receives anInternet Protocol (IP) packetized media data stream complying with thebroadcast encryption standard, decrypts the media data stream to providea decrypted media data stream, transcodes the decrypted media datastream into a rendering device compatible format, encrypts thetranscoded media data stream, and transmitting the encrypted transcodedmedia data steam to a rendering device. The rendering device, which maybe a personal computer or another device using a personal computer CPU,decrypting the encrypted transcoded media data stream, renders thetranscoded media data stream, and provides the rendered transcoded mediadata stream to a display. The display then renders the transcoded mediadata stream.

In another embodiment, the system includes a storage device that canstore the media program data for later playback. Such storage cansupport a “live pause” function and may permit the media program to bereplayed before the entire media program is stored, or may be used tostore the entire media program for later playback. This embodiment canbe implemented by decrypting the encrypted media program data andre-encrypting it before transmission to the storage device, bytransmitting the broadcast-encrypted media program data to the storagedevice, or by further encrypting the broadcast-encrypted media programdata before storage.

In another embodiment, the system is evidenced by an apparatus forpresenting a media data stream complying with a broadcast encryptionstandard in which the apparatus comprises a rendering device and adongle. The dongle may be removably coupled to the rendering device, andcan include a first dongle input for receiving an Internet Protocol (IP)packetized media data stream complying with the broadcast encryptionstandard, a decrypter having an input coupled to the first input fordecrypting the media data stream to provide a decrypted media datastream at a decrypter output, a transcoder, having an input coupled tothe decrypter output that is used for transcoding the decrypted mediadata stream into a rendering device-compatible format and providing thetranscoded decrypted media data stream at a receiver output, and asecurity module that secures communications between the receiver and therendering device by encrypting communications transmitted to therendering device and decrypting communications received from therendering device.

Performing encryption, decryption, and transcoding in the separatedongle frees the rendering device processor from performing thesefunctions. The rendering device can then be an off-the-shelf such as anordinary personal computer, with no modifications, and special purposehardware and software required to support decryption, transcoding andencryption, since these operations are provided in a separate device.

BRIEF DESCRIPTION OF THE DRAWINGS

Referring now to the drawings in which like reference numbers representcorresponding parts throughout:

FIG. 1 is a block diagram showing an exemplary media programpresentation system;

FIG. 2 is a diagram of an exemplary embodiment of a presentationstation;

FIG. 3 is a flow chart illustrating representative method steps that canbe used to practice an embodiment of the invention in which thepacketized media data is presented for display without storage;

FIG. 4 is a flow chart illustrating representative method steps that canbe used to practice an embodiment of the invention in which thepacketized media data is stored and thereafter retrieved for display tothe user;

FIG. 5 is a flow chart illustrating alternative method steps that can beused to practice an embodiment of the invention in which the packetizedmedia data is stored and thereafter retrieved for display to the user;and

FIG. 6 is a diagram illustrating one embodiment of a rendering device.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following description, reference is made to the accompanyingdrawings which form a part hereof, and which is shown, by way ofillustration, several embodiments of the present invention. It isunderstood that other embodiments may be utilized and structural changesmay be made without departing from the scope of the present invention.

FIG. 1 is a block diagram showing an exemplary media programpresentation system 100. In the illustrated embodiment, the mediaprogram presentation system 100 includes a Headend 102 that transmitspacketized media data (PMD) to a one or more facilities 108A, 108B(hereinafter alternatively referred to as facilities 108). In oneembodiment, the Headend 102 comprises one or more computer systems orservers 103 for storing, retrieving, encrypting, and transmitting themedia program data. The transmission of the media programs to thefacilities 108 may be accomplished via the Internet, by terrestrialtransmission via wired or wireless means including copper or fiber opticcable, or by satellite.

Each facility comprises a plurality of presentation stations 104, whichmay comprise a rendering device 106 such as a personal computer andprocessing device 112 that is removably coupleable to the renderingdevice 106. In one embodiment, the processing device 112 is a dongle,which can be coupled to and removed from an external I/O port on thecomputer 106 so as to exchange data with the processing device 112and/or to provide or respond to commands. The external I/O port can be aserial port, a parallel port, a USB-compliant interface, Ethernetconnection, or any other means for communicating between the processingdevice 112. In one embodiment, the processing device may communicatewith the computer 106 wirelessly, thus obviating the need for removablecoupling.

The PMD can be transmitted directly to the presentation station 104, ormay be transmitted to the presentation station 104 via a local receiver105. The local receiver 105 may also store the media programs for laterplayback, and may remove the encryption added by the Headend 102. Thelocal receiver 105 may also re-encrypt the PMD before forwarding it tothe presentation station 104.

FIG. 2 is a diagram of an exemplary embodiment of a presentation station104. In the illustrated embodiment, the presentation station 104includes a rendering device 218 that can be implemented on a personalcomputer 106 having a display 222. The rendering device 218 may be apersonal computer, such as a WINDOWS-based personal computer, aMACINTOSH, or may be an IP device. In one embodiment, the renderingdevice 218 is a Mac personal computer running QUICKTIME. The renderingdevice 218 may also be a portable device such as an IPOD or a cellphonewith suitable processing and storage capability.

The rendering device 218 may include or be coupled to a storage device220. In one embodiment, the storage device 222 may be a hard driveincorporated into the personal computer 106. The storage device 220permits media program data to be stored. Such storage may be long termor permanent (as would be the case if the PMD is stored in its entiretyfor later viewing) or short term (to support viewing before the entireprogram is stored or live pause functionality). The storage device 220may comprise any memory of suitable capacity and store/retrieve speed,including a hard disk drive or electronic memory such as flash memory.

As described above, a processing device 112 can be coupled to therendering device 218 to permit the PMD data transmitted to the facility108 to be displayed by the presentation station 108. In a preferredembodiment, the processing device 112 comprises a dongle 112 that can beremovably attached to one of the I/O ports of the rendering device 218.

In the illustrated embodiment, the dongle 112 includes a first dongleinput 204 which accepts a packetized baseband media data stream that mayhave been encrypted according to the broadcast encryption standard ofthe headend 102. In one embodiment, the form factor of the first dongleinput 204 is an RJ45 connector. In addition to or in the alternative,the dongle 112 may also comprise a second dongle input 206 that acceptsa modulated signal with having the packetized media program data stream.This input may be, for example, a coax system compliant with the dataover cable service interface specification (DOCSIS). The signal on input206 is demodulated by the demodulator 208 before further processing. ThePMD may be multiplexed to provide multiple channels of information aswell. In which case, the dongle 112 may also include a demultiplexerinterposed between switch 207 and switch 209 to demultiplex thepacketized media data and obtain the data relevant to the channel(s) ofinterest.

Switch 207 allows one or more of any of the connectors labeled “1”, “2”and “3” to be supplied as an input to the dongle processor 210. Switch207 (as well as the other switches shown in FIG. 2) may be implementedin software or hardware.

In the illustrated embodiment, the dongle 112 includes a decrypter 212,a transcoder 214 and an encryptor 216, each of which can be enabled toprocess the incoming signal by application of switches 211, 213 and 215.The dongle 112 also may include a second decrypter 228, that is enabledby application of switch 209 that is used to decrypt the encryption thatis performed by encryptor 216, as described further below.

The decrypter 212 is used to decrypt the received PMD (if encrypted) asit is received from the Headend 102.

The transcoder 214 transcodes the PMD from the source codec to thetarget codec (the codec required by the rendering device 218).Transcoding is a direct digital-to-digital process to convert a signalfrom one codec to another. Typically, transcoding involvesdecoding/decompressing the original data to a raw intermediate format(i.e. PCM for audio or YUV for video), in a way that mimics standardplayback of the lossy content, and then re-encoding this into the targetformat. Transcoding may be accomplished by decoding the input bitstreaminto YUV format using a compatible decoder and then encoding the datausing an encoder of a target standard. Alternatively, transcoding can beaccomplished by changing the bitstream format from one standard toanother without its undergoing the complete decoding and encodingprocess. Transcoding is described, for example as follows:http://en.wikipedia.org/wiki/Transcoding, which is hereby incorporatedby reference.

Encryptor 216 encrypts the PMD before presenting the output of thedongle 112. The encryptor 216 provides a secure communications linkbetween the dongle 112 and the rendering device 218 by encrypting themessages passing therebetween. This can be established via encryption ofmessages by a shared private key, public/private key pairs, or any othersuitable paradigm that cryptographically couples the dongle 112 to therendering device 218. This prevents a hacker from monitoring thedongle/rendering device interface 224 to extract the media program dataand display or store it in unauthorized ways. In one embodiment, theencryption provided by encryptor 216 differs from the encryption that isapplied to the broadcast standard encryption that is applied to the PMDbefore it is received.

The second decrypter 228 can be used to decrypt PMD that was encryptedby the encryptor 216 and stored on the storage device 220 as describedbelow.

The dongle/rendering device interface 224 may be a USB-compliantinterface, Ethernet, or firewire. In one embodiment, interface 224 is atwo way digital interface, and therefore, information can be transmittedin both directions at essentially the same time. Further, switches 207,209, 211, 213, and 215 can be rapidly switched (e.g. between packets) ifdesired so that the dongle 112 can concurrently process data beforestorage on the storage device 220 and process data retrieved from thestorage device 220. This allows the dongle 112 to supportimplementations wherein the media stream is being received, processedand stored on the storage device 220 and being received from the storagedevice 200, processed by the dongle 112 and provided to the renderingdevice 218 at the same time. This may occur, for example, when thesystem is used to begin recording of a media program, and playback ofthe media program commences before the entire media program has beenrecorded. This may also occur during “live pause” when the playback of amedia program is paused while playback of the media program continues.

The dongle 112 can be communicatively coupled to the rendering device218 via a rendering device I/O port, which can be a serial or parallelinterface, and may comprise a wireless interface such as IR. Inembodiments wherein the interface is not wireless, the dongle 112 can beattached and removed without need for special tools or disassembly (e.g.removably communicatively coupled).

The functions performed by the decrypter 212, transcoder 214, encryptor216 and second decrypter 228 may be performed by a single processor andassociated coupled memory implemented in a single integrated circuitchip 210, or may be implemented by separate processors, separate chips,or separate hardware modules.

Presentation of PMD in Real Time

The presentation station 104 can be used to decrypt and displaystreaming media program data in real time, or can be used to receive andstore media program data for later playback or other use.

FIG. 3 is a flow chart illustrating representative method steps that canbe used to practice an embodiment of the invention in which the mediaprogram data (PMD) is presented for display without storage. Thediscussion of FIG. 3 is made with reference to one hardware embodimentthat can be used to practice the illustrated method steps, namely, theembodiment described in FIG. 2, in which switches 207, 209, 211, 213 and215 are in positions (1, 2, 1, 1, 1) respectively.

Referring now to FIG. 3, the PMD is received, as shown in block 302. Inone embodiment, the PMD complies with an Internet Protocol (IP) and isencrypted according to a broadcast encryption standard acceptable to theprovider of the media program, and may be streaming data. In theembodiment shown in FIG. 2, the PMD is received in the dongle 112 is atbaseband (unmodulated) at input 204. Alternatively, the received PMD maymodulated, in which case, switch 209 is in position (2).

If the Headend 102 encrypted the PMD, the received PMD may be decryptedto remove the broadcast encryption applied by the Headend 102. This isillustrated in block 304, and may be performed by decrypter 212,illustrated in FIG. 2.

Next, the decrypted PMD is transcoded to transform the program data fromthe source codec into the target codec (e.g. the codec required by therendering device 218). This is illustrated in block 306, and can beperformed, for example, by transcoder 214 illustrated in FIG. 2.

The transcoded PMD is then optionally encrypted before being transmittedto the rendering device 218. This is illustrated in blocks 308 and 310.In the embodiment shown in FIG. 2, the encryption is performed byencryptor 216 and the encrypted PMD is made available at the output ofthe dongle 112.

The encrypted PMD is then decrypted, as shown in block 312. In theembodiment illustrated in FIG. 2, the encrypted PMD is decrypted by adecryption module resident in the rendering device 218. The decryptionmodule may be implemented in the software or hardware of the renderingdevice 218. The encryption and decryption performed by the dongle 112and the rendering device 218 can be implemented via a shared secret(which could include, for example, a shared value or a sharedalgorithm), a public/private key pair, or any suitable technique. In oneembodiment, the encryption performed by the encryptor 216 uses adifferent algorithm or key than the than the broadcast standardencryption performed by the Headend, but this need not be the case.

The rendering device 218 then renders the decrypted PMD, as shown inblock 314. In one embodiment, the rendering device renders the decryptedPMD using native software and/or hardware elements that are providedwith the rendering device upon purchase. Hence, the rendering device canbe off-the shelf and neither the hardware nor the software of therendering device 218 need be modified to perform the task of renderingthe PMD.

Finally, as shown in blocks 316 and 318, the rendered PMD is provided tothe display device 222, where it is displayed to the user.

Transcoding, Storage and Replay of PMD

FIG. 4 is a flow chart illustrating representative method steps that canbe used to practice an embodiment of the invention in which the PMD isstored and thereafter retrieved for display to the user. The discussionof FIG. 4 is made with reference to one hardware embodiment that can beused to practice the illustrated method steps, namely, the embodimentdescribed in FIG. 2, in which switches 207, 209, 211, 213 and 215 are inpositions (1, 2, 1, 1, 1) respectively when the PMD is processed beforestorage in the storage device 220 and in positions (3, 1, 2, 2, 1) whenthe PMD is retrieved and played back.

Beginning first with storage, a PMD is received, as shown in block 402.This can be accomplished, for example, by the dongle 112. If the PMD wasencrypted by the Headend 102, it is decrypted, as shown in block 404.This can be accomplished using the decrypter 212 in FIG. 3. In block406, the PMD is transcoded from the source codec to the codec of thetarget (the rendering device 218). This can be accomplished with thetranscoder 214 shown in FIG. 2. The transcoded PMD is then re-encrypted,as shown in block 408, and transmitted to the rendering device as shownin block 410. This can be accomplished, for example, by the encryptor216 shown in FIG. 2.

In blocks 412 and 414, the re-encrypted and transcoded PMD istransmitted to a storage device 220. In the embodiment illustrated inFIG. 2, this is accomplished by transmission via the rendering device218. However, the data may be transmitted directly to the storage device220 if desired.

To play back PMD stored in the storage device 220, the PMD need only beretrieved from the storage device 220, decrypted in the rendering device218, rendered, and provided to the display device 222 for viewing. Thisis shown in blocks 416-426.

Other embodiments of the foregoing are also envisioned. For example, inone alternative embodiment, the PMD is not decrypted and re-encryptedbefore being stored. Instead, the PMD decrypted, transcoded, and simplystored unencrypted in the storage device 220. It is then later retrievedand simply provided to the rendering device 218 for rendering andthereafter to the display device 222 for viewing.

Storage of Untranscoded PMD for Later Transcoding and Replay

FIG. 5 is a flow chart illustrating alternative method steps that can beused to practice an embodiment of the invention in which the PMD isstored and thereafter retrieved for display to the user. The discussionof FIG. 5 is made with reference to one hardware embodiment that can beused to practice the illustrated method steps, namely, the embodimentdescribed in FIG. 2, in which switches 207, 209, 211, 213 and 215 are inpositions (1, 2, 1, 2, 1) respectively when the PMD is processed beforestorage in the storage device 220 and in positions (3, 1, 2, 1, 1) whenthe PMD is retrieved and played back.

First, the PMD is received, as shown in block 502. This can beaccomplished by the dongle 112. If the PMD is received in encryptedform, it can be simply transmitted to the storage device 222 via therendering device 218 without further encryption. Or, the PMD can bedecrypted by decrypter 212 and re-encrypted by encryptor 216 accordingto a different encryption algorithm, technique, or seed. Alternatively,the received encrypted PMD can be further secured by further encryptingthe received encrypted PMD as shown in block 504. This can beaccomplished by encryptor 216.

The further encrypted PMD is then transmitted to the storage device 222,where it is received and stored, as shown in blocks 506-510.

Upon playback, the PMD is retrieved from the storage device 222 andtransmitted to the dongle 112 via the rendering device 218. This isshown in block 512.

Upon playback, if the PMD was decrypted and re-encrypted by encryptor216, the PMD is retrieved from storage, decrypted using decrypter 228and provided to the transcoder 214 for transcoding. If the receivedencrypted PMD was further encrypted by the encryptor 216, it isdecrypted using decrypter 228 and then further decrypted using decrypter212 before being provided to the transcoder 214. Finally, if thereceived encrypted PMD was simply stored on the storage device 220without further encryption, decrypter 228 is bypassed, and the retrievedPMD is provided to decrypter 212 and thence to the transcoder 214 fortranscoding. The embodiment in which the encrypted PMD was furtherencrypted before storage is illustrated in blocks 514-518.

Before transmitting the transcoded PMD to the rendering device 218, itcan be re-encrypted to assure it is not compromised. This can beaccomplished by encryptor 216 and is shown in block 520. The transcodedPMD is provided to the rendering device 218, where it is decrypted,rendered, and provided to the display device 222, where it is can bedisplayed to the user, as described in blocks 522-528.

Since the PMD can be encrypted and decrypted using an identifier uniqueto the dongle 112 (e.g. by encryptor 216 and decrypter 228), thebroadcaster or studio can be assured that the PMD can only be presentedif the dongle 112 is attached to the rendering device 218. This wouldprevent someone from using a different dongle 112 to view the PMD storedin the storage device 220.

In the foregoing discussion, the communication path between the dongle112 and the rendering device 218 is secured by use ofencryption/decryption of messages using private and/or public keys.However, a secured communication link between the dongle 112 and therendering device 218 may also be established by other means. In oneembodiment, a secure communications link is established between thedongle 112 and the rendering device 218 at each session so that theinformation passed between then would be cryptographically coupled insuch a manner to prevent unauthorized reception of the signal. Thiscould be established using a number of different paradigms, includingsecure sockets layer (SSL) and similar technologies.

Hardware Environment

FIG. 6 illustrates an exemplary computer system 602 that could be usedto implement elements the present invention, including the renderingdevice 218 and/or selected portions of the dongle 112. The computer 602comprises a general purpose hardware processor 604A and/or a specialpurpose hardware processor 604B (hereinafter alternatively collectivelyreferred to as processor 604) and a memory 606, such as random accessmemory (RAM). The computer 602 may be coupled to other devices,including input/output (I/O) devices such as a keyboard 614, a mousedevice 616 and a printer 628.

In one embodiment, the computer 602 operates by the general purposeprocessor 604A performing instructions defined by the computer program610 under control of an operating system 608. The computer program 610and/or the operating system 608 may be stored in the memory 606 and mayinterface with the user 132 and/or other devices to accept input andcommands and, based on such input and commands and the instructionsdefined by the computer program 610 and operating system 608 to provideoutput and results.

Output/results may be presented on the display 622 or provided toanother device for presentation or further processing or action.Typically, the display 622 comprises a plurality of picture elements(pixels) that change state to collectively present an image to the user132. For example, the display 622 may comprise a liquid crystal display(LCD) having a plurality of separately addressable pixels, each with aliquid crystal that changes to an opaque or translucent state to form apart of the image on the display in response to the data or informationgenerated by the processor 604 from the application of the instructionsof the computer program 610 and/or operating system 608 to the input andcommands. Similarly, plasma displays include a pixel having threeseparate subpixel cells, each with a different color phosphor. Thecolors blend together to create the color presented in the pixel. Pulsesof current flowing through the cells are varied according to the datagenerated by the processor from the application of the instructions ofthe computer program and/or operating system 608 in response to inputand commands, changing the intensity of the light provided by the pixel.Also, similarly, cathode ray tube (CRT) displays include a plurality ofpixels, each with each pixel having subpixels typically represented bydots or lines from an aperture grille. Each dot or line includes aphosphor coating that glows when struck by electrons from an electrongun. In response to the data generated by the processor from theapplication of instructions of the computer program and/or operatingsystem 608 and in response to input and commands, the electrons emittedby the electron gun are steered at the dots or lines, thus changing thestate of the associated pixel by causing the phosphor coating of thatdot or line to glow.

The image may be provided through a graphical user interface (GUI)module 618A. Although the GUI module 618A is depicted as a separatemodule, the instructions performing the GUI functions can be resident ordistributed in the operating system 608, the computer program 610, orimplemented with special purpose memory and processors.

Some or all of the operations performed by the computer 602 according tothe computer program 110 instructions may be implemented in a specialpurpose processor 604B. In this embodiment, the some or all of thecomputer program 610 instructions may be implemented via firmwareinstructions stored in a read only memory (ROM), a programmable readonly memory (PROM) or flash memory in within the special purposeprocessor 604B or in memory 606. The special purpose processor 604B mayalso be hardwired through circuit design to perform some or all of theoperations to implement the present invention. Further, the specialpurpose processor 604B may be a hybrid processor, which includesdedicated circuitry for performing a subset of functions, and othercircuits for performing more general functions such as responding tocomputer program instructions. In one embodiment, the special purposeprocessor is an application specific integrated circuit (ASIC).

The computer 602 may also implement a compiler 612 which allows anapplication program 610 written in a programming language such as COBOL,C++, FORTRAN, or other language to be translated into processor 604readable code. After completion, the application or computer program 610accesses and manipulates data accepted from I/O devices and stored inthe memory 606 of the computer 602 using the relationships and logicthat was generated using the compiler 612.

The computer 602 also optionally comprises an external communicationdevice such as a modem, satellite link, Ethernet card, or other devicefor accepting input from and providing output to other computers.

In one embodiment, instructions implementing the operating system 608,the computer program 610, and the compiler 612 are tangibly embodied ina computer-readable medium, e.g., data storage device 620, which couldinclude one or more fixed or removable data storage devices, such as azip drive, floppy disc drive 624, hard drive, CD-ROM drive, tape drive,etc. Further, the operating system 608 and the computer program 610 arecomprised of computer program instructions which, when accessed, readand executed by the computer 602, causes the computer 602 to perform thesteps necessary to implement and/or use the present invention or to loadthe program of instructions into a memory, thus creating a specialpurpose data structure causing the computer to operate as a speciallyprogrammed computer executing the method steps described herein.Computer program 610 and/or operating instructions may also be tangiblyembodied in memory 606 and/or data communications devices 630, therebymaking a computer program product or article of manufacture according tothe invention. As such, the terms “article of manufacture,” “programstorage device” and “computer program product” as used herein areintended to encompass a computer program accessible from any computerreadable device or media.

Of course, those skilled in the art will recognize that any combinationof the above components, or any number of different components,peripherals, and other devices, may be used with the computer 602.

Although the term “computer” is referred to herein, it is understoodthat this computer 600 may include portable devices such as cellphones,portable MP3 players, video game consoles, notebook computers, pocketcomputers, or any other device with suitable processing, communication,and input/output capability.

Similarly, the dongle processor 210 may include one or more generalpurpose or special purpose processors communicatively coupled to amemory for storing instructions that are executed by the dongleprocessor(s) 210 to perform the functions described above. Decrypters228, 212, transcoder 214, and encryptor 216 may be implemented by asingle processor or by multiple processors. Further, switches 207, 209,211, 213 and 215 may be electronic switches, mechanical switches, orswitches implemented using instructions performed by the processor(s).

Conclusion

This concludes the description of the preferred embodiments of thepresent invention. The foregoing description of the preferred embodimentof the invention has been presented for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise form disclosed. Many modifications andvariations are possible in light of the above teaching. It is intendedthat the scope of the invention be limited not by this detaileddescription, but rather by the claims appended hereto. The abovespecification, examples and data provide a complete description of themanufacture and use of the composition of the invention. Since manyembodiments of the invention can be made without departing from thespirit and scope of the invention, the invention resides in the claimshereinafter appended.

1. A method of transcoding a media data stream complying with abroadcast encryption standard for a personal computer-based renderingdevice for presentation on a display, comprising the steps of: (a)receiving, in a dongle removably coupled to the rendering device,encrypted packetized media data (PMD), wherein the encrypted PMD isencrypted according to a first encryption technique; (b) decrypting, inthe dongle, the encrypted PMD to produce a decrypted PMD; (c)transcoding, in the dongle, the decrypted PMD into a renderingdevice-compatible format; (d) encrypting, in the dongle, the transcodedPMD according to a second encryption technique using an identifierunique to the dongle; and (e) transmitting the encrypted and transcodedPMD from the dongle to the rendering device having a decrypterconfigured to decrypt the encrypted and transcoded PMD to produce thedecrypted PMD.
 2. The method of claim 1, further comprising the stepsof: (f) receiving the encrypted and transcoded PMD in the renderingdevice; (g) rendering the transcoded PMD in the rendering device; (h)providing the rendered transcoded PMD to a display; and (i) displayingthe rendered transcoded PMD.
 3. The method of claim 1 wherein: the PMDis multiplexed to provide a plurality of channels; the method furthercomprises the step of demultiplexing the encrypted PMD in the dongle;and the step of transcoding the decrypted PMD into a rendering devicecompatible format comprises the step of transcoding the demultiplexedand decrypted PMD into a rendering device compatible format.
 4. Themethod of claim 1, wherein: the PMD is modulated; the method furthercomprises the step of demodulating the PMD; and the step of decryptingthe PMD to provide a decrypted media stream comprises the step ofdecrypting the demodulated PMD to provide the decrypted media stream. 5.The method of claim 2, wherein the transcoded PMD is rendered by apersonal computer and displayed on a display communicatively coupled tothe personal computer.
 6. The method of claim 1, further comprising thesteps of: transmitting the encrypted and transcoded PMD to a storagedevice; retrieving the encrypted and transcoded PMD from the storagedevice; decrypting the retrieved encrypted and transcoded PMD; renderingthe decrypted retrieved PMD; providing the rendered PMD to a display;and displaying the rendered PMD.
 7. A method of transcoding a media datastream complying with a broadcast encryption standard for a personalcomputer-based rendering device for presentation on a display,comprising the steps of: (a) receiving, in a dongle removably coupled tothe rendering device, packetized media data (PMD) encrypted according toa first encryption technique; (b) storing the encrypted PMD in thestorage device; (c) retrieving the encrypted PMD from the storagedevice; (d) decrypting, in the dongle, the retrieved encrypted PMD; (e)transcoding, in the dongle, the decrypted PMD into a rendering devicecompatible format; (f) encrypting, in the dongle, the transcoded PMDaccording to a second encryption technique using an identifier unique tothe dongle; and (g) transmitting the encrypted transcoded PMD to therendering device.
 8. The method of claim 7, further comprising the stepsof: rendering the transcoded PMD; providing the rendered transcoded PMDto a display; and displaying the rendered transcoded PMD.
 9. The methodof claim 7, wherein: the received PMD is multiplexed to provide aplurality of channels; the method further comprises the step ofdemultiplexing the received PMD in the dongle; and the step of receivingand storing the encrypted PMD in the storage device comprises the stepof receiving and storing the demultiplexed encrypted PMD in the storagedevice.
 10. The method of claim 7, wherein: the received PMD ismodulated; the method further comprises the step of demodulating thereceived PMD; and the step of receiving and storing the encrypted PMD inthe storage device comprises the step of receiving and storing thedemodulated PMD in the storage device.
 11. The method of claim 7,wherein the transcoded PMD is rendered by a personal computer anddisplayed on a display communicatively coupled to the personal computer.12. The method of claim 7, wherein: the method further comprises thestep of further encrypting the received PMD according to the secondencryption technique using the identifier unique to the dongle; the stepof storing the encrypted PMD in a storage device comprises the step ofstoring the further encrypted PMD in the storage device; the step ofretrieving the encrypted PMD from the storage device comprises the stepof retrieving the further encrypted PMD from the storage device; and themethod further comprises the step of further decrypting the furtherencrypted PMD retrieved from the storage device to produce the receivedencrypted PMD.
 13. The method of claim 12, wherein steps of furtherencrypting the received PMD and further decrypting the further encryptedPMD retrieved from the storage device to produce the retrieved encryptedPMD are performed by the dongle.
 14. An apparatus for presenting a mediadata stream complying with a broadcast encryption standard, comprising:a rendering device; a dongle, removably coupled to the rendering device,having: a first dongle input for receiving packetized media data (PMD)encrypted according to a first encryption ; decrypter having an inputcoupled to the first input for decrypting the PMD to provide decryptedPMD at a decrypter output; a transcoder, having an input coupled to thedecrypter output, for transcoding the decrypted PMD into a renderingdevice-compatible format and providing the transcoded decrypted PMD at areceiver output; and a security module, for securing communicationsbetween the dongle and the rendering device by encrypting communicationstransmitted to the rendering device and decrypting communicationsreceived from the rendering device.
 15. The apparatus of claim 14,wherein the media data stream is multiplexed to provide a plurality ofchannels and the receiver further comprises a demultiplexer, coupledbetween the decrypter and the transcoder for demultiplexing thedecrypted media data stream.
 16. The apparatus of claim 14, wherein thedongle further comprises: a second input for receiving a modulatedsecond Internet Protocol (IP) PMD complying with the broadcastencryption standard; and a demodulator, coupled to the second input andproviding a demodulated second PMD complying with the broadcastencryption standard to the decrypter input.
 17. The apparatus of claim16, wherein the rendering device is a personal computer.
 18. Theapparatus of claim 14, wherein the security module securescommunications between the dongle and the rendering device via privatekey cryptography.
 19. The apparatus of claim 14, wherein the securitymodule secures communications between the dongle and the renderingdevice via public key cryptography.
 20. The apparatus of claim 14,further comprising: a storage device, for receiving and storing theencrypted transcoded PMD.
 21. The apparatus of claim 14, wherein therendering device is a personal computer.
 22. The apparatus of claim 14,wherein the security module further comprises: an encryptor forencrypting communications from the dongle to the rendering device; and asecond decrypter for decrypting communications from the rendering deviceto the dongle.